Scaling termination proofs by a characterization of cycles in CHR
نویسندگان
چکیده
In the current paper, we discuss cycles in Constraint Handling Rules for the purpose of scaling termination proofs. In order to obtain a useful characterization, our approach differs from the ones used in other declarative languages, such as Logic Programming and Term Rewrite Systems. Due to multi-headed rules, the notion of a cycle is not in direct correspondence with the recursive calls of a program. Our characterization has to be more refined as we have to consider also partner constraints. Furthermore, a second, more challenging problem, due to the multi-set semantics of CHR, makes it unclear how cycles structurally compose. To tackle this problem, we develop a new abstraction for computations in CHR based on hypergraphs. On the basis of this abstraction, we define CHR constructs as a representation for sub-computations. These constructs introduce a concept of minimality and structural composability, making it is a useful abstraction. On the basis of this abstraction we define the meaning of a CHR cycle. These are special kinds of CHR constructs. We have developed a verification for detecting whether constructs are CHR cycles and for deriving the minimal CHR cycles of a program. We motivate why and how this will lead to scalable automated termination proof procedures for CHR.
منابع مشابه
Scaling termination proofs by a characterisation of cycles in CHR
outputs relate to inputs by a match transition relation, given by a dependency analysis. Definition 4 (Match transition relation). A match transition of a CHR program P is an ordered pair M(i, j,k,l) = (out(i, j), in(k,l)), expressing a dependency between an output out(i, j) = (C(i, j),Gi) of OutP and an input in(k,l) = (C(k,l),Gk) of I nP, for which ∃θ : CT |= ((C(i, j) = C(k,l))∧Gi∧Gk)θ holds...
متن کاملImproved Termination Analysis of CHR Using Self-sustainability Analysis
In the past few years, several successful approaches to termination analysis of Constraint Handling Rules (CHR) have been proposed. In parallel to these developments, for termination analysis of Logic Programs (LP), recent work has shown that a stronger focus on the analysis of the cycles in the strongly connected components (SCC) of the program is very beneficial, both for precision and effici...
متن کاملTermination Analysis of CHR Revisited
Today, there exist two distinct direct approaches to prove termination of CHR programs. Both are applicable on separate classes of CHR programs. One approach, by T. Frühwirth, proves termination of CHR programs without propagation rules. A second approach deals with CHR programs with propagation rules. Due to its extended scope to such programs, it fails to prove termination for a class of CHR ...
متن کاملAutomating Termination Proofs for CHR
We propose a constraint-based approach towards automated termination analysis of Constraint Handling Rules (CHR). Similar to such approaches for Logic Programming (LP), we define a symbolic level mapping on atoms of the program and express termination conditions using these. Then, we search for an assignment to the symbolic coefficients, validating the termination conditions. However, different...
متن کاملA new approach to termination analysis of CHR
We present a new approach to termination analysis of Constraint Handling Rules (CHR). Unlike current approaches, our approach has no restrictions on the kind of rules in the CHR program. We propose a termination condition that verifies conditions imposed on the dynamic process of adding constraints to the store, instead of a termination argument based on the comparison of sizes of consecutive c...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009